#ifndef CALCULATOR_H
#define CALCULATOR_H
#include <QVector>
#include <QString>
#include <QDebug>
#include <QStack>

class Calculator
{
public:
    Calculator();
    //计算最终结果
    double calculator(QString s);
private:
    QVector<QString> *infixExpression;
    QVector<QString> *postfixExpression;
    //字符串转中缀表达式
    void stringToInfixExpression(QString str);


    //中缀表达式转后缀表达式
    void infixExpressionToPostfixExpression();

    //后缀表达式求值
    double evaluatePostfixExpressions();

    //获取优先级
    int getPriority(QString op);

};

#endif // CALCULATOR_H
